是陣列裡的累加器
array.reduce() 方法會對陣列中的每一個元素由左至右
做累加的動作
假設有一個陣列 [ 0, 1, 2, 3, 4, 5 ] 需要計算總數,
通常我們會使用for的方式來累加:
let arr=[0, 1, 2, 3, 4, 5]
let sum=0;
for(let i=0; i<arr.length; i++){
sum+=arr[i]
}
console.log(sum)
另一種方式,也可以使用array.reuduce()
array.reduce(function(accumulator , currentValue, currentIndex, arr),initialValue)
四個回傳值,分別是
initialValue - 表示累加的初始值
算出以下陣列的總數(初始值為 10)
No | acc | currentValue | index | arr |
---|---|---|---|---|
1 | 10 | 0 | 0 | [0,1,2,3,4,5] |
2 | 11 | 1 | 1 | [0,1,2,3,4,5] |
3 | 13 | 2 | 2 | [0,1,2,3,4,5] |
4 | 16 | 3 | 3 | [0,1,2,3,4,5] |
5 | 20 | 4 | 4 | [0,1,2,3,4,5] |
6 | 25 | 5 | 5 | [0,1,2,3,4,5] |
let sum = [0, 1, 2, 3, 4, 5].reduce(function (acc, currentValue) {
return acc + currentValue;
}, 10) //初始值使用10
console.log(sum)